Flask: A Language for Data-driven Sensor Network Programs
نویسندگان
چکیده
In this paper, we present Flask, a new programming language for sensor networks that is focused on providing an easy-to-use dataflow programming model. In Flask, programmers build applications by composing chains of operators into a dataflow graph that may reside on individual nodes or span multiple nodes in the network. To compose dataflow graphs across sensor nodes, Flask supports a lean, general-purpose communication abstraction, called Flows, that provides publish/subscribe semantics over efficient routing trees. At the heart of Flask is a programmatic wiring language, based on the functional language OCaml [13]. Flask’s wiring language allows dataflow graphs to be synthesized programmatically. The Flask wiring program is interpreted at compile time to generate a sensor node program in NesC, which is then compiled to a binary. Our design of Flask makes three main contributions. First, Flask allows the programmer to specify distributed dataflow applications in a high-level language while retaining the efficiency of compiled binaries and full access to TinyOS components. Second, Flask provides a unified framework for distributing dataflow applications across the network, allowing programmers to focus on application logic rather than details of routing code. Finally, Flask’s programmatic wiring language enables rich composition of dataflow operators, making it possible to develop higher-level programming models or languages directly in Flask. In this paper, we describe the design and implementation of the Flask language, its runtime system, the Flows communication interface, and a compiler that produces NesC code. We evaluate Flask through two motivating applications: a distributed detector of seismic activity (e.g., for studying earthquakes), and an implementation of the TinyDB query language built using Flask, showing that using Flask considerably reduces code complexity and memory size while achieving high runtime efficiency.
منابع مشابه
Quasi Random Deployment Strategy for Reliable Communication Backbones in Wireless Sensor Networks
Topology construction and topology maintenance are significant sub-problems of topology control. Spanning tree based algorithms for topology control are basically transmission range based type construction algorithms. The construction of an effective backbone, however, is indirectly related to the placement of nodes. Also, the dependence of network reliability on the communication path undertak...
متن کاملThe Influence of Data-Driven Exercises Through Using a Computer Program on Vocabulary Improvement in an EFL Context
The present study was conducted to evaluate data driven learning (DDL) combined with Computer Assisted Language Learning (CALL) as an approach to improving vocabulary knowledge of Iranian postgraduates majoring in teaching English, English literature and translation. The purpose was to help language learners get familiar with DDL as a student-centered method taking advantage of a computer progr...
متن کاملتأثیر ساختواژهها در تجزیه وابستگی زبان فارسی
Data-driven systems can be adapted to different languages and domains easily. Using this trend in dependency parsing was lead to introduce data-driven approaches. Existence of appreciate corpora that contain sentences and theirs associated dependency trees are the only pre-requirement in data-driven approaches. Despite obtaining high accurate results for dependency parsing task in English langu...
متن کاملThe Influence of Data-Driven Exercises Through Using a Computer Program on Vocabulary Improvement in an EFL Context
The present study was conducted to evaluate data driven learning (DDL) combined with Computer Assisted Language Learning (CALL) as an approach to improving vocabulary knowledge of Iranian postgraduates majoring in teaching English, English literature and translation. The purpose was to help language learners get familiar with DDL as a student-centered method taking advantage of a computer progr...
متن کاملA comparison between knowledge-driven fuzzy and data-driven artificial neural network approaches for prospecting porphyry Cu mineralization; a case study of Shahr-e-Babak area, Kerman Province, SE Iran
The study area, located in the southern section of the Central Iranian volcano–sedimentary complex, contains a large number of mineral deposits and occurrences which is currently facing a shortage of resources. Therefore, the prospecting potential areas in the deeper and peripheral spaces has become a high priority in this region. Different direct and indirect methods try to predict promising a...
متن کامل